home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / 8bit / cislib_b / xedis.asm < prev    next >
Assembly Source File  |  1995-04-22  |  4KB  |  1 lines

  1. ;XENOVOUS DISASSEMBLER USR ROUTINES¢;WRITTEN BY MIKE BAYER¢;THIS CODE WRITTEN FOR THE MACRO¢;ASSEMBLER (AMAC)¢;ACTUAL PROGRAM IS STORED IN DATA¢;STATEMENTS IN BASIC PROGRAM¢;BUT THIS LISTING CAN BE HELPFUL IF¢;YOU WANT TO MAKE ANY IMPROVEMENTS¢;¢;PLEASE EXCUSE MY LOUSY ASSEMBLY¢;LANGUAGE TECHNIQUES!!!¢;¢;¢TABLO EQU 212 ;USR LOCATIONS¢TABHI EQU 213¢CODE EQU 1536 ;TEMPORARY¢ ORG 20000¢;THIS SUBROUTINE TAKES THE OPCODE AND¢;RETURNS THE MNEMONIC, ADDRESSING ¢;MODE, AND NUMBER OF ARGUMENT BYTES¢¢ PLA ;NUMBER OF ARGUMENTS¢ LDA #LOW TABLE ;LO AND HI LOCATION¢ STA TABLO  ;OF DATA TABLE¢ LDA #HIGH TABLE¢ STA TABHI¢ PLA ;OTHER USR DATA (OPCODE)¢ PLA¢ STA CODE¢ LDY #0¢LOOP LDA (TABLO),Y ;LOOPS THRU ALL¢ CMP CODE    ;THE OPCODES TO FIND¢ BEQ DONE    ;THE RIGHT ONE¢ CMP #255 ;UNKNOWN CODE?¢ BEQ DONE¢ LDA #6¢ CLC¢ ADC TABLO¢ STA TABLO ;STORE ADDRESS OF CORRECT¢ LDA #0    ;CODE IN USR LOCATIONS¢ ADC TABHI¢ STA TABHI¢ JMP LOOP¢DONE RTS¢¢;THIS SUBROUTINE CALCULATES THE¢;ABSOLUTE ADDRESS FROM A RELATIVE¢;BRANCH INSTRUCTION¢¢ PLA ;# OF ARG¢ PLA ;HI BYTE OF USR¢ PLA ;LO BYTE OF USR-BRANCH OFFSET¢ STA CODE¢ PLA¢ STA TABHI ;TABLO AND HI USED TO¢ PLA       ;STORE ADDRESS¢ STA TABLO¢ LDA CODE¢ BPL POS¢NEG LDA CODE ;NEGATIVE BRANCH¢ EOR #255¢ STA CODE¢ INC CODE ;GET THE ACTUAL OFFSET¢ LDA TABLO¢ SEC¢ SBC CODE¢ STA TABLO¢ LDA TABHI¢ SBC #0¢ STA TABHI ;SUBTRACT IT¢ RTS ;GOODBYE¢POS LDA TABLO ;POSITIVE BRANCH¢ CLC¢ ADC CODE¢ STA TABLO¢ LDA TABHI¢ ADC #0¢ STA TABHI ;ADD OFFSET¢ RTS ;GOODBYE¢¢; THIS IS OBVIOUSLY THE DATA¢;OPCODE/MNEMONIC/ADDRESSING MODE/BYTES;(SEE THE BASIC PROG. FOR ADDRESSING¢;CODE TRANSLATION)¢TABLE DB $69,'ADC',1,1¢ DB $6D,'ADC',2,2¢ DB $65,'ADC',2,1¢ DB $61,'ADC',4,1¢ DB $71,'ADC',3,1¢ DB $75,'ADC',6,1¢ DB $7D,'ADC',6,2¢ DB $79,'ADC',5,2¢ DB $29,'AND',1,1¢ DB $2D,'AND',2,2¢ DB $25,'AND',2,1¢ DB $21,'AND',4,1¢ DB $31,'AND',3,1¢ DB $35,'AND',6,1¢ DB $3D,'AND',6,2¢ DB $39,'AND',5,2¢ DB $0E,'ASL',2,2¢ DB $06,'ASL',2,1¢ DB $0A,'ASL',7,0¢ DB $16,'ASL',6,1¢ DB $1E,'ASL',6,2¢ DB $90,'BCC',2,1¢ DB $B0,'BCS',2,1¢ DB $F0,'BEQ',2,1¢ DB $2C,'BIT',2,2¢ DB $24,'BIT',2,1¢ DB $30,'BMI',2,1¢ DB $D0,'BNE',2,1¢ DB $10,'BPL',2,1¢ DB $00,'BRK',2,0¢ DB $50,'BVC',2,1¢ DB $70,'BVS',2,1¢ DB $18,'CLC',2,0¢ DB $D8,'CLD',2,0¢ DB $58,'CLI',2,0¢ DB $B8,'CLV',2,0¢ DB $C9,'CMP',1,1¢ DB $CD,'CMP',2,2¢ DB $C5,'CMP',2,1¢ DB $C1,'CMP',4,1¢ DB $D1,'CMP',3,1¢ DB $D5,'CMP',6,1¢ DB $DD,'CMP',6,2¢ DB $D9,'CMP',5,2¢ DB $E0,'CPX',1,1¢ DB $EC,'CPX',2,2¢ DB $E4,'CPX',2,1¢ DB $C0,'CPY',1,1¢ DB $CC,'CPY',2,2¢ DB $C4,'CPY',2,1¢ DB $CE,'DEC',2,2¢ DB $C6,'DEC',2,1¢ DB $D6,'DEC',6,1¢ DB $DE,'DEC',6,2¢ DB $CA,'DEX',2,0¢ DB $88,'DEY',2,0¢ DB $49,'EOR',1,1¢ DB $4D,'EOR',2,2¢ DB $45,'EOR',2,1¢ DB $41,'EOR',4,1¢ DB $51,'EOR',3,1¢ DB $55,'EOR',6,1¢ DB $5D,'EOR',6,2¢ DB $59,'EOR',5,2¢ DB $EE,'INC',2,2¢ DB $E6,'INC',2,1¢ DB $F6,'INC',6,1¢ DB $FE,'INC',6,2¢ DB $E8,'INX',2,0¢ DB $C8,'INY',2,0¢ DB $4C,'JMP',2,2¢ DB $6C,'JMP',8,2¢ DB $20,'JSR',2,2¢ DB $A9,'LDA',1,1¢ DB $AD,'LDA',2,2¢ DB $A5,'LDA',2,1¢ DB $A1,'LDA',4,1¢ DB $B1,'LDA',3,1¢ DB $B5,'LDA',6,1¢ DB $BD,'LDA',6,2¢ DB $B9,'LDA',5,2¢ DB $A2,'LDX',1,1¢ DB $AE,'LDX',2,2¢ DB $A6,'LDX',2,1¢ DB $BE,'LDX',5,2¢ DB $B6,'LDX',5,1¢ DB $A0,'LDY',1,1¢ DB $AC,'LDY',2,2¢ DB $A4,'LDY',2,1¢ DB $B4,'LDY',6,1¢ DB $BC,'LDY',6,2¢ DB $4E,'LSR',2,2¢ DB $46,'LSR',2,1¢ DB $4A,'LSR',7,0¢ DB $56,'LSR',6,1¢ DB $5E,'LSR',6,2¢ DB $EA,'NOP',2,0¢ DB $09,'ORA',1,1¢ DB $0D,'ORA',2,2¢ DB $05,'ORA',2,1¢ DB $01,'ORA',4,1¢ DB $11,'ORA',3,1¢ DB $15,'ORA',6,1¢ DB $1D,'ORA',6,2¢ DB $19,'ORA',5,2¢ DB $48,'PHA',2,0¢ DB $08,'PHP',2,0¢ DB $68,'PLA',2,0¢ DB $28,'PLP',2,0¢ DB $2E,'ROL',2,2¢ DB $26,'ROL',2,1¢ DB $2A,'ROL',7,0¢ DB $36,'ROL',6,1¢ DB $3E,'ROL',6,2¢ DB $6E,'ROR',2,2¢ DB $66,'ROR',2,1¢ DB $6A,'ROR',7,0¢ DB $76,'ROR',6,1¢ DB $7E,'ROR',6,2¢ DB $40,'RTI',2,0¢ DB $60,'RTS',2,0¢ DB $E9,'SBC',1,1¢ DB $ED,'SBC',2,2¢ DB $E5,'SBC',2,1¢ DB $E1,'SBC',4,1¢ DB $F1,'SBC',3,1¢ DB $F5,'SBC',6,1¢ DB $FD,'SBC',6,2¢ DB $F9,'SBC',5,2¢ DB $38,'SEC',2,0¢ DB $F8,'SED',2,0¢ DB $78,'SEI',2,0¢ DB $8D,'STA',2,2¢ DB $85,'STA',2,1¢ DB $81,'STA',4,1¢ DB $91,'STA',3,1¢ DB $95,'STA',6,1¢ DB $9D,'STA',6,2¢ DB $99,'STA',5,2¢ DB $8E,'STX',2,2¢ DB $86,'STX',2,1¢ DB $96,'STX',5,1¢ DB $8C,'STY',2,2¢ DB $84,'STY',2,1¢ DB $94,'STY',6,1¢ DB $AA,'TAX',2,0¢ DB $A8,'TAY',2,0¢ DB $BA,'TSX',2,0¢ DB $8A,'TXA',2,0¢ DB $9A,'TXS',2,0¢ DB $98,'TYA',2,0¢ DB $FF,'???',2,0¢